/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	RenderEntryWindowViewPresent.h
*
*	Description -	
*
*	Comments	-	
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	05/17/2013	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_RENDER_ENTRY_WINDOW_VIEW_PRESENT_H_
#define _PSX_RENDER_ENTRY_WINDOW_VIEW_PRESENT_H_

#include "PulseSTD.h"
#include "RenderEntry.h"
#include "RenderEntryList.h"

namespace Pulse
{
	class RenderEntryWindowViewPresent : public RenderEntry
	{
	public:

		RenderEntryWindowViewPresent( void );

		virtual ~RenderEntryWindowViewPresent( void );

		virtual void Execute( GraphicsPipeline *pPipeline );

		// Setup methods

		// Currently not used...
		void SetParameterContainer( ParameterContainer *pParams );

		void SetModel( Model *pModel );

		// NOTE: This is a bit ugly. We should find a different solution for this...
		RenderEntryList * GetRenderEntryList( void ) { return &m_modelRenderEntries; }

	private:
	
		void Clear( void );

	private:

		ParameterContainer	*m_pParams;
		Model				*m_pNDCQuadModel;
		RenderEntryList		m_modelRenderEntries;

	};
}

#endif /* _PSX_RENDER_ENTRY_WINDOW_VIEW_PRESENT_H_ */